#ifndef CHESSPIECE_H_
#define CHESSPIECE_H_

class ChessPiece {
private:
	char* offFile;
	Object3D my3dObject;
	Point3 *faceNormals;
	Point3 centerOfMass, centerLocation, rotationAmount;
	double rotationAngle;

public:
	ChessPiece(char* offFileLocation);
	
	void draw();

	void setCenterLocations(GLdouble, GLdouble, GLdouble);
	void rotate(GLdouble, GLdouble, GLdouble, GLdouble);
	
	/////////////////////////////////////////////////////
	//     U T I L  M E T H O D S
	////////////////////////////////////////////////////
	Vector3 constructVector(HPoint3 start, HPoint3 end);

	Vector3 performCrossProduct(Vector3 v1, Vector3 v2);

	Vector3 normalizeVector(Vector3 inVec);

	Vector3 createFaceNormal(int faceIndex);

	void loadOffFile(char *offFile);
};

#endif /*CHESSPIECE_H_*/
